/*******************************************************
> Copyright (C) 2024 ==IOT== All rights reserved.
> File Name: linklist.cpp
> Author: IOT
> Website:www.slq.org
> Created Time: 2024年10月28日 星期一 16时18分48秒
***************************************************/

#include <iostream>
using namespace std;

template <class T>
class List {
	struct Node { // 1. 链表节点定义
		T dat;         //  数据域
		//Node *prev;
		Node *next;   // 指针域
	};
	
	Node *head = nullptr; // 2. 创建链表头指针
	Node *tail = nullptr;
	int len;
	
	public:
		List() : head(nullptr), len(0) // 3. 初始化第一个节点,不使用
		{
			
		}
		~List()
		{
			// 释放链表
		}
		void push(const T &val) // 4. 增为节点
		{
			Node *p = new Node;
			p->dat = val;
			
			p->next = head;
			head = p;
			len++;
		}
		
		T& operator[](int index)
		{
			Node *tmp = head;
			while (tmp != nullptr && index-- != 0) {
				tmp = tmp->next;
			}
			return  tmp->dat;
		}
};

int main(int argc,const char* argv[])
{
	List<int> list_obj;
	
	list_obj.push(15);
	
	cout << list_obj[0] << endl;
	
    return 0;
}

